package top.lidee.common.service.twice.applet;

import com.baomidou.mybatisplus.extension.service.IService;
import top.lidee.common.dto.AccountInfo;
import top.lidee.framework.result.PageUtils;
import top.lidee.framework.result.ResponseResult;
import top.lidee.repository.model.twice.pojo.applet.MtStoreCateEntity;
import top.lidee.repository.model.twice.vo.management.MtStoreCateSaveOrUpdateVo;

import java.util.Map;

/**
 * 店铺主营行业分类表
 *
 * @author zhangzhan
 * @email 52194440@qq.com
 * @date 2024-09-25 14:40:51
 */
public interface MtStoreCateService extends IService<MtStoreCateEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * @description 根据1级分类查询对应2级分类
     * @param cateId
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng
     * @date 2024/9/27 11:25
     */
    ResponseResult getSecondaryCateByOne(Integer cateId);

    /**
     * @description 查询所有行业分类 树形结构
     * @param accountInfo
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng
     * @date 2024/10/8 11:28
     */
    ResponseResult listTree(AccountInfo accountInfo);

    /**
     * @description 新增/保存分类
     * @param accountInfo 
     * @param vo
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng 
     * @date 2024/10/8 11:38
     */
    ResponseResult savedIn(AccountInfo accountInfo, MtStoreCateSaveOrUpdateVo vo);

    /**
     * @description 根据id查询
     * @param accountInfo
     * @param cateId
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng
     * @date 2024/10/8 14:20
     */
    ResponseResult info(AccountInfo accountInfo, Integer cateId);

    /**
     * @description 根据id修改
     * @param accountInfo
     * @param vo
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng
     * @date 2024/10/8 14:24
     */
    ResponseResult update(AccountInfo accountInfo, MtStoreCateSaveOrUpdateVo vo);

    /**
     * @description 单个或批量删除
     * @param accountInfo
     * @param cateIds
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng
     * @date 2024/10/8 14:29
     */
    ResponseResult delete(AccountInfo accountInfo, Integer[] cateIds);

    /**
     * @description 查询所有行业分类 一级分类
     * @param accountInfo
     * @return top.lidee.framework.result.ResponseResult
     * @author zhangyiheng
     * @date 2024/10/9 11:04
     */
    ResponseResult listLeve1(AccountInfo accountInfo);

}

